perm filename HIERAR[W84,JMC] blob sn#744239 filedate 1984-02-23 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	hierar[w84,jmc]		inheritance
C00004 00003
C00006 ENDMK
C⊗;
hierar[w84,jmc]		inheritance

Discussion with Leslie Pack.
It looks like the problems with variable hierarchy vanish with
enough reification.  Here are some axioms developed in a 1984 Feb 23
discussion with Leslie Pack.

ordinarily(Penguin, Not Fly)

[∃c'.class is-a c' ∧ c' is-a c ∧ ordinarily(c',not p)] ⊃ ab aspect1(c,class,p)

ordinarily(c,p) ∧ class is-a c ∧ ¬ab aspect1(c,class,p) ⊃ ordinarily(class,p)

mem(Joe,Adelie)

Adelie is-a Penguin

mem(x,c) ∧ c is-a c' ⊃ mem(x,c')

c'' is-a c' ∧ c' is-a c ⊃ c'' is-a c

Questions:

1. Can these be used directly as a Prolog program?

2. Does this set of axioms really work?  Some checking is required.

∀c1 c2 p.ordinarily(c1,p) ∧ c1 ≤ c2 ∧ ¬ab aspect1(c1,c2,p) ⊃ ordinarily(c2,p)

∀c1 c2 c3 p.c1 ≤ c2 ∧ c2 ≤ c3 ∧ ordinarily(c2, not p) ⊃ ab aspect1(c1,c3,p)

∀x c p.in(x,c) ∧ ordinarily(c,p) ∧ ¬ab aspect3(x,c,p) ⊃ ap(p,x)

∀x c1 c2 p.in(x,c1) ∧ c1 ≤ c2 ∧ ordinarily(c1,not p) ⊃ ab aspect3(x,c2,p)